﻿/*给定两个正整数（不含前导 0），计算它们的差，计算结果可能为负数。

输入格式
共两行，每行包含一个整数。

输出格式
共一行，包含所求的差。

数据范围
1≤整数长度≤105
输入样例：
32
11
输出样例：
21
*/

#include<iostream>
#include<vector>

using namespace std;
bool cmp(vector<int>& A, vector<int>& B)
{
	if (A.size() != B.size())	return A.size() > B.size();
	else
	{
		for (int i = A.size() - 1; i >= 0; i--)
		{
			if (A[i] != B[i])	return A[i] > B[i];
		}
		return true;
	}
}
vector<int> Sub(vector<int>& A, vector<int>& B)
{
	int t = 0;
	vector<int>C;
	for (int i = 0; i <A.size(); i++)
	{
		t = A[i] - t;
		//if (B.size() > 0)
		if(i<B.size())	t -= B[i];
		C.push_back((t + 10) % 10);
		if (t < 0)	t = 1;
		else t = 0; //这个else一定要加
	}
	//去除前导0
	while (C.size() > 1 && C.back() == 0)	C.pop_back();
	return C;
}
int main()
{
	string a, b;
	cin >> a >> b;
	vector<int>A, B;
	for (int i = a.size() - 1; i >= 0; i--)	A.push_back(a[i]-'0');
	for (int i = b.size() - 1; i >= 0; i--)	B.push_back(b[i] - '0');
	vector<int>C;

	if (cmp(A, B))
	{
		auto C = Sub(A, B);
		for (int i = C.size() - 1; i >= 0; i--)	printf("%d", C[i]);
	}
	else
	{
		auto C = Sub(B,A);
		printf("-");
		for (int i = C.size() - 1; i >= 0; i--)	printf("%d", C[i]);
	}
	return 0;
}